﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Aurora.WebApp.Models;
using Aurora.WebApp.Helpers;
using Aurora.WebApp.Controllers;
using System.Web.Mvc;
using System.ComponentModel.DataAnnotations;

namespace Aurora.WebApp.ViewModel.Branch
{
    public class AddEditSucursalViewModel
    {
        public int? SUC_ID { get; set; }
        [Display(Name = "Dirección")]
        [Required(ErrorMessageResourceName = "CampoRequerido", ErrorMessageResourceType = typeof(i18n.ValidationStrings))]
        public string SUC_DIRECCION { get; set; }
        [Display(Name = "Teléfono")]
        [Required(ErrorMessageResourceName = "CampoRequerido", ErrorMessageResourceType = typeof(i18n.ValidationStrings))]
        public string SUC_TELEFONO { get; set; }
        [Display(Name = "Nombre Contacto")]
        [Required(ErrorMessageResourceName = "CampoRequerido", ErrorMessageResourceType = typeof(i18n.ValidationStrings))]
        public string SUC_CONTACTO { get; set; }
        [Display(Name = "Observaciones")]
        public string SUC_OBSERVACIONES { get; set; }
        [Display(Name = "Cliente")]
        [Required(ErrorMessageResourceName = "CampoRequerido", ErrorMessageResourceType = typeof(i18n.ValidationStrings))]
        public int CLI_ID { get; set; }

        public List<SelectListItem> ListClientes { get; set; }

        public AddEditSucursalViewModel()
        {
            ListClientes = new List<SelectListItem>();
        }

        public void CargarDatos(CargarDatosContext datacontext, int? _SUC_ID)
        {
            var lista = datacontext.context.Cliente;
            if (lista != null && lista.Count() > 0)
            {
                foreach (var item in lista)
                    ListClientes.Add(new SelectListItem { Value = item.CLI_ID.ToString(), Text = item.CLI_NOMBRE });
            }

            if (_SUC_ID.HasValue)
            {
                int TrabajadorId = Convert.ToInt32(_SUC_ID);
                Sucursal _sucursal = datacontext.context.Sucursal.FirstOrDefault(x => x.SUC_ID == _SUC_ID);
                this.SUC_ID = _sucursal.SUC_ID;
                this.SUC_CONTACTO = _sucursal.SUC_CONTACTO;
                this.SUC_DIRECCION = _sucursal.SUC_DIRECCION;
                this.SUC_OBSERVACIONES = _sucursal.SUC_OBSERVACIONES;
                this.SUC_TELEFONO = _sucursal.SUC_TELEFONO;
                this.CLI_ID = _sucursal.CLI_ID;
            }
        }
    }
}